/*
 * Copyright (C) 2012 POAS.VSTU
 */

package model;

/**
 * Абстрактный класс игрока.
 */
public abstract class Player {

    /// Имя игрока
    private String mName;

    /// Карты игрока
    private PlayerCardPile mCards;

    /**
     * Конструктор игрока.
     * @param name имя игрока
     */
    public Player(String name) {
        this.mName = name;
        mCards = new PlayerCardPile();
    }

    /** Имя игрока. */
    public String getName() {
        return mName;
    }

    /** Задать имя игрока. */
    public void setName(String newName) {
        mName = newName;
    }

    /** Карты игрока. */
    public PlayerCardPile getCards() {
        return mCards;
    }

    /** Представить игрока в виде строки. */
    @Override
    public String toString() {
        String string = getName() + ":" + getCards().size() + "\n";
        for (Card c: getCards()) {
            string += "\n" + c;
        }
        return string;
    }

    /** Начать заход. */
    //public void beginRound() { }

    /** Завершить ход. */
    //public void endRound() { }
}
